home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Spanish Scene 1
/
SpanishScene1.iso
/
spanish pack n°1 by llfb
/
revistas
/
amigazeta
/
no.0.dms
/
no.0.adf
/
cursillo
< prev
next >
Wrap
Text File
|
1987-06-04
|
35KB
|
750 lines
-----------------------------------------------------------------------
Estas hojas no pretenden ser un manual exhaustivo, ni tan siquiera
completo del AmigaDOS (DOS de aquí en adelante), tan sólo pretenden ser
una invitación al uso y manejo de la parte más oscura, y potente a la
vez, del sistema operativo de esta máquina, una guía cuyo único y
principal objetivo es el proporcionaros una visión más técnica que os
permita indagar por vuestra cuenta en sus posibilidades.
Comenzaremos simulando una sesión de un usuario novel con esta máquina,
e intentando resolver sus problemas y dudas para ir avanzando en la
comprensión de los secretos de este ordenador.
Vamos a comenzar desde el ordenador apagado. Al encender el ordenador
ocurren varias cosas:
- la luz del interruptor se enciende
- parpadea el led de enclave de mayúsculas
- pasan unos instantes
- aparece un dibujo de una mano sosteniendo un diskette
- se oyen ruidos en la unidad de discos (si no tenemos ningún disco
introducido)
Durante estos instantes lo que ha ocurrido es que la máquina se ha
puesto en marcha, y ejecutando las instrucciones escritas en su
memoria, ha leído 256 Kb. de información que constituyen el sistema
operativo del Amiga. En el legendario Amiga 1000 (primer modelo de
Amiga comercializado) en lugar de leer el DOS de la ROM, pedía un disco
que contuviera estos datos , el famoso Kikstart, y los leía de ahí, a
partir de aquí el proceso es el mismo para todas las máquinas.
Pero nos falta todavía algo por explicar, y es el por qué de esos
ruiditos que hace la unidad de disco cuando aparece el dibujo de la
mano, la explicación es obvia, la computadora, muy gráficamente nos
está pidiendo que insertemos un disco para poder comenzar a trabajar, y
ahora es cuando nosotros empezamos a tomar el control eligiendo qué
disco introducimos.
Básicamente podemos meter dos tipos de discos, instalados o no
instalados, la diferencia entre estos dos tipos de discos es que los
instalados llevan escritos en los dos primeros sectores del disco (1024
bytes) una serie especial de instrucciones que permiten que el usuario
pueda introducir datos a la máquina. Discos típicamente instalados
son los del Workbench, los de juegos, y la mayoría de los discos que
llevan programas comerciales de aplicación, ejemplos de discos noinstalados son el disco de Extras donde está incluido entre otros el
Amiga Basic, y aplicaciones como Graphicraft, etc.
Estos dos sectores del disco sólo pueden ser utilizados para escribir
en ellos el BOOT (arranque) del sistema, es decir no pueden ser
utilizados para escribir datos o programas (con algunas excepciones).
Entonces ¿por qué no instalar todos los discos?. Un poco más adelante
comprenderemos por qué, aunque realmente no hay ninguna razón que
impida hacerlo.
Bien, volviendo a donde estábamos, la máquina nos pedía un disco y
nosotros solícitamente se lo hemos dado, si introducimos un disco no
instalado volverá a aparecer al instante la mano exigiendo otro. A
continuación, y siguiendo las órdenes dadas por el DOS, la máquina
sigue su proceso y lee los dos primeros sectores del disco e identifica
por su nombre y fecha al disco en cuestión, a continuación hace lo
propio con las unidades de disco adicionales que tengamos conectadas
(sólo el nombre y fecha, claro, porque el BOOT ya lo ha leído una vez y
no necesita más, de hecho sólo podemos arrancar desde la unidad de
disco instalada como interna, a la que el DOS llama df0:).
A continuación la computadora va a buscar en el disco de arranque, en
el directorio devs un fichero que se llame system-configuration , y si
no encuentra el directorio, va a buscarlo en el directorio actual del
disco. Si lo encuentra leerá de él una serie de información que le
dirá el modo de pantalla que debe de usar, los colores de la pantalla,
la forma del puntero, la velocidad del ratón y del teclado, qué tipo de
impresora tiene conectada, los parámetros instalados para el puerto
serie (ser:), y unas cuantas cosas más. Este fichero es equivalente,
dentro de un orden, al config.sys del MS-DOS. Si no encuentra el
fichero en cuestión adoptará unos parámetros estándares que vienen
definidos en la ROM donde está escrito el DOS.
Para los inquietos os diremos que todos los parámetros que vienen
definidos por este fichero se pueden editar a voluntad utilizando desde
el WORKBENCH (WB en adelante) el programa PREFERENCES, ampliamente
explicado en el manual de la máquina.
Pero esto todavía no ha empezado, apenas han pasado unos segundos y ya
reconocemos nuestro disco, con nuestros colores, puntero, etc., y ahora
es cuando de verdad comienza el espectáculo, el ordenador busca un
directorio en el disco que responda al nombre de s, y si lo encuentra,
no contento con eso buscará otro fichero dentro de él que se llame
startup-sequence, este fichero, fundamental para un correcto dominio
del sistema, es un fichero de texto escrito en ASCII, en el que se
encuentran escritas una serie de instrucciones, distintas para cada
aplicación, y que son los nombres de los comandos, con su sintaxis
adecuada, que ordenamos a la máquina que ejecute en el orden impuesto.
Si el ordenador no encuentra el directorio s y el fichero startup-
sequence finalizará la secuencia de arranque, dándonos un mensaje de
copyright del DOS y dejándonos con una pantalla con un recuadro, en
cuyo interior, arriba y a la izquierda aparecerá un triste y enigmático
1>.
Este fichero, que a muchos les recordará al profile.sub del CPM o al
autoexec.bat del MS-DOS se puede editar con cualquier editor o
procesador de textos para modificarlo a nuestro gusto.
Bien, seguramente hemos tardado más en leer esto de lo que la máquina
ha tardado en ejecutar todas las instrucciones que le hayamos puesto en
el fichero de arranque, pero tiene su razón el que detallemos tanto qué
es lo que hace el ordenador en los primeros segundos porque es
fundamental, como seguramente os habréis dado cuenta, para una buena
gestión de nuestro tiempo y del sistema.
Vamos a pasar ahora a una descripición somera de los directorios que
nos encontraremos habitualmente en los discos, pero antes vamos a ver
cómo podemos verlos.
Para ver qué ficheros o directorios tenemos en un disco hay varios
caminos, de momento explicaremos dos procedimientos para obtener un CLI
(interface de comandos de línea), imprescindible para ver el
directorio, ya que el WB sólo nos muestra aquellos ficheros o
directorios que tienen asociado un icono a su nombre, y que suelen ser
minoría.
1 - Arrancando con el disco del WB, buscaremos en él el icono del CLI,
que puede estar a la vista nada más abrir el disco o dentro del cajón
llamado System, en cuyo caso tendremos que abrirlo para ejecutarlo
pinchándolo dos veces. Al hacer esto nos aparece una nueva ventana en
la pantalla con un 1> en su esquina superior izquierda.
2 - Para arrancar con un disco cualquiera que no tenga el icono del
CLI, o que ejecute directamente un programa, lo que tenemos que hacer
es:
- Cuando aparezca la mano pidiendonos el disco, en vez de
introducirlo sin más, pulsaremos con la mano izquierda simultáneamente
las teclas Ctrl y D, y sin soltarlas, introduciremos el disco en
cuestión.
- La pulsación de estas dos teclas tiene como efecto la
interrupción (en este caso no llega a iniciarse) de la ejecución de las
instrucciones existentes en el fichero s/startup-sequence, y la
consiguiente aparición del 1>.
Ahora que ya tenemos una línea para introducir comandos podemos
comenzar a hacerlo. Y aquí vamos a aprender una cosa más sobre el
DOS, y es que el sistema operativo del Amiga no tiene ni un sólo
comando residente en memoria, es decir, para ejecutar cualquier
comando, primero debe cargarlo en memoria desde el directorio actual o
desde el directorio c. Esto, si bien chocará a los que vengamos de
sistemas operativos tradicionales, como los ya citados anteriormente,
les parecerá de lo más normal a los que conozcan UNIX, ya que en UNIX
sucede exactamente lo mismo.
"De acuerdo", podemos decir, "es estupendo tener un sistema operativo
diferente, ya que el Amiga es diferente, y puesto que la máquina es
multitarea está muy bien que el sistema operativo que más se le parezca
sea el UNIX, esto le da una cierta clase, pero ¿qué hago yo ahora para
sacar un directorio del disco?, ¡yo quiero saber por qué está lleno,
teniendo 880 Kb de capacidad!, ¿es que acaso los programas ocupan medio
mega cada uno?".
Es cierto que esta característica del Amiga puede provocar el enojo, la
perplejidad, o lo que es peor, el desánimo en aquellos aventureros que
se lanzan a explorar el CLI, pero conforme avancen en su estudio
comprenderán la conveniencia de este sistema, así como la granflexibilidad y potencia que le confieren al DOS.
Pero vamos a dejar la literatura, y resolvamos el problema planteado.
Si hemos seguido el camino primero para llegar al CLI y escribimos al
lado del 1> dir, lo que obtendremos será un directorio del disco del
WB, y no del que queríamos explorar. Si siguiendo el camino
alternativo propuesto, hacemos lo mismo, es posible, pero no probable
que el comando dir exista en el disco, en cuyo caso obtendremos el
directorio buscado, si no es así lo único que obtendremos será un
mensaje de error del sistema, y de nuevo el conocido prompt del 1>.
En los dos casos hay distintas soluciones, vamos a enumerar varias, y
así iremos conociendo los múltiples caminos que el DOS nos permite
recorrer para llegar al objetivo deseado. Empezando por el primer
caso, y de menor a mayor complejidad y elegancia, las alternativas son:
1- Escribir en el ordenador
dir ?
Esto tendrá como efecto que el comando dir en cuestión se cargue en la
memoria, dándonos además un mensaje de cuál es la sintaxis que debemos
de utilizar. Si en este momento, y antes de hacer nada, sacamos el
disco del WB e introducimos el que queremos examinar, y a continuación
del mensaje de sintaxis escribimos df0: tendremos como resultado en la
pantalla un directorio en orden alfabético del disco en cuestión. Si
el directorio es demasiado largo y se va de la pantalla, no podemos
hacerlo retroceder, lo que si podemos hacer es pararlo pulsando el
botón derecho del ratón, al soltarlo continuará la presentación.
Una vez finalizado el directorio en el CLI nos volverá a aparecer el
prompt habitual del sistema 1>. Es decir, hemos conseguido hacer el
comando dir residente en memoria, pero tan sólo para un uso.
Este método explicado es aplicable a la mayoría de los comandos del
CLI, o sea, que escribiendo a continuación del comando un espacio y una
interrogación de cierre, hacemos residente el comando para un sólo uso.
Si ahora volvemos a escribir dir en el CLI, la máquina nos pedirá por
su nombre el disco con el que arrancamos el ordenador, lo que nos da
pie a explicar otra forma de hacer lo mismo utilizando órdenes
distintas.
2- El DOS reconoce a los discos por su nombre, y en caso de igualdad de
nombres los distingue por la fecha y hora en que se formatearon, esta
propiedad del DOS nos permite, utilizando una sóla unidad de disco, el
uso de cualquier comando sin tener que recurrir a otros trucos, en este
caso, y suponiendo que el nombre del disco que quisiéramos explorar
fuese "mi disco", para ver su directorio escribiríamos:
dir "mi disco:"
y la máquina cargaría el comando y nos pediría que introdujéramos el
disco llamado "mi disco". Las comillas no forman parte del nombre, ysólo hace falta ponerlas en el caso de que el nombre del disco o del
fichero a tratar incluyera algún espacio en blanco. Esta norma se
aplica a cualquier comando del DOS.
3- Vamos a ver por último la forma más económica de llevar a cabo este
proceso, económica porque nos permitirá acceder al comando siempre que
queramos sin necesidad de volverlo a cargar desde el disco de arranque,
básicamente consiste en traspasar el comando al disco virtual o ram: y
tenerlo allí a nuestra disposición para su uso en cualquier momento.
El proceso a seguir sería el siguiente:
copy c/dir ram:
path ram:
estos son los comandos que tendríamos que ejecutar, vamos a explicar
los dos pasos, y qué es lo que significa cada cosa.
En primer lugar copy es el comando que se encarga de copiar ficheros en
el CLI, por supuesto es un comando no residente, es decir, debe de
estar en el disco del que hemos arrancado; c/dir es el nombre del
fichero que queremos copiar, en realidad el nombre del fichero es dir,
pero como no está en nuestro directorio actual, sino que se encuentra
dentro de un directorio especial del disco y del sistema que se llama c
, tenemos que anteponerlo al nombre, la barra inclinada significa que
lo que hay delante es el nombre de un directorio, lo que hay detrás
puede ser o bien un fichero como en este caso, u otro directorio.
Esta notación les resultará familiar a los usuarios de MS-DOS, ya que
las convenciones y símbolos que utiliza son parecidas.
Por último, ram: es el nombre del disco virtual del sistema, este disco
es una parte especial de la memoria disponible, que el sistema
configura automáticamente al tamaño adecuado para dar cabida a los
ficheros que grabemos, es decir, no está dimensionada de antemano como
en otros sistemas, sino que se ajusta en cada momento al tamaño
necesario, evitando el desperdicio innecesario de nuestra valiosa
memoria.
Para poder acceder a ram:, es imprescindible que en el disco de
arranque exista un directorio llamado l y dentro de éste un fichero
llamado ram-handler, que es el que se encarga de activar el disco ram,
este fichero tan sólo es preciso cargarlo una vez, cosa que hace
automáticamente el sistema cuando se le pide por primera vez el
dispositivo ram:.
Es decir, en la primera línea, lo que tiene que hacer la máquina es,
por este orden lo siguiente:
- cargar el fichero copy en memoria
- mirar si existe el fichero dir en el directorio c
- si existe y no ha sido activado todavía ram: deberá cargar
el fichero ram-handler del directorio l
- leerá el fichero c/dir y lo escribirá en ram:
En principio, lo que la máquina haga o tenga que hacer a nosotros comousuarios no tiene que importarnos, si lo exponemos es porque nos va
dando pistas de la forma de trabajar que tiene el DOS, y nos
familiariza a la vez con directorios, comandos y ficheros que usaremos
con cierta frecuencia.
Todavía nos queda la segunda línea por explicar path ram:, para ello
tendremos que saber dónde busca el CLI los comandos, que como
seguramente ya sospecharéis es dentro del directorio c del disco. Es
decir, el DOS, al pedirle que ejecute un comando, lo buscará en el
directorio actual del sistema, que si no lo hemos modificado mediante
el comando cd será df0:, o lo que es igual, el directorio principal del
disco con el que hemos arrancado, si allí no lo encuentra, lo buscará
en el directorio c del disco, que es donde están todos los comandos del
CLI, y si no lo encuentra nos dará un mensaje de error; o sea, que
aunque le copiemos todos los comandos del CLI en ram: la máquina no
podrá utilizarlos mientras no le indiquemos dónde tiene que buscarlo.
Aquí es donde entra en juego el comando path (camino en castellano),
mediante él podemos añadir al sistema nuevos caminos donde buscar
comandos, y eso es lo que hemos hecho, añadirle ram: como otro lugar
donde debe ir a buscar los comandos.
Ahora ya podemos sacar el disco y explorar cuantos discos se nos antoje
con tan sólo escribir el comando dir df0: desde el CLI, y sin necesidad
de volver a usar el disco de arranque.
Al igual que hemos copiado dir en ram: podemos copiar cuantos comandos
estimemos necesarios o convenientes, para tenerlos siempre a nuestra
disposición, esto realmente ya se va pareciendo a los comandos
residentes de otros sistemas, con la ventaja de que en vez de media
docena, podemos tener todos los que queramos, siempre que la cantidad
de memoria disponible nos lo permita.
Para copiar todos los comandos a ram: podemos hacerlo con varias
sentencias, que si bien varían en su sintaxis, ejecutan todas el mismo
proceso:
a) copy c ram:
b) copy c: ram:
c) copy c/#? ram:
d) copy c:#? ram:
A continuación de cualquiera de ellas escribiremos path ram: para que
la máquina sepa donde tiene que buscarlos.
Bien, básicamente hemos descrito ya las posible formas de hacer lo que
queríamos, es decir, sacar un directorio de un disco diferente al de
arranque, podríamos seguir enumerando otra media docena más, pero casi
todas se pueden deducir de las expuestas, o bien precisan de un estudio
un poco más profundo del DOS, que dentro de poco emprenderemos.
Pero propusimos dos formas de arranque, bien desde el disco del WB o
bien desde el disco que queremos explorar, vamos a analizar algunas de
las posibilidades que tenemos de hacerlo si hemos arrancado desde el
disco en cuestión y mediante Ctrl D hemos abortado la secuencia dearranque.
1- Sacando el disco en cuestión, metemos el disco del WB y tecleamos:
df0:c/dir
ya sabemos qué significa esto, le pedimos que lea del disco que está en
la unidad interna (df0:) el fichero dir que está en el directorio c.
El ordenador buscará y leera el fichero y nos pedirá que insertemos de
nuevo el disco de arranque, tras lo cual nos dará el directorio del
disco de arranque.
Si en vez de escribir df0:c/dir hubiéramos escrito sólo c/dir, la
máquina nos pediría de nuevo el disco de arranque e intentaría leer de
él el comando, ya que no hemos modificado el directorio actual, y por
lo tanto éste sigue siendo el del disco de arranque; añadiendo al
principio df0:, le decimos al sistema que el fichero lo tiene que
buscar en el disco que se encuentra en ese momento en la unidad de
discos interna.
Este truco, que no lo es, nos permitirá utilizar discos de datos en
casi cualquier programa, al anteponerle al nombre de fichero que
queremos recuperar o grabar df0: le estamos diciendo al sistema que el
directorio que queremos utilizar es el del disco que se encuentre en
ese momento en la disquetera.
2- Aplicando lo aprendido en el punto segundo anterior, podemos llamar
al disco de sistema, que sabemos tiene el fichero que nos interesa, por
su nombre, en este caso lo podemos hacer antes de sacar el disco de
arranque, y la máquina nos pedirá que introduzcamos el nuevo disco,
leerá el fichero y nos volverá a pedir el disco de arranque.
Si nos habituamos a este método, aprenderemos la conveniencia de dar a
los discos nombres que los identifiquen fácilmente y que no sean
difíciles de teclear, un buen nombre para el disco del WB sería el
mismo WB, con lo cual tendríamos que escribir:
WB:c/dir
3- Podemos utilizar otro comando, que aunque hemos mencionado, no hemos
explicado, que es el cd, este comando tiene su equivalente homónimo en
MS-DOS, y su función es la misma, es decir, cambiar el directorio en
uso por otro cualquiera que le indiquemos. Para utilizarlo en este
caso lo que tendríamos que hacer es lo siguiente:
- introducir el disco del WB
- escribir df0:c/cd df0:c
De esta forma hacemos el directorio actual al directorio c del disco
del WB, que como ya sabemos es el que contiene los comandos, ahora si
escribimos:
dir sys:
la máquina cargará del directorio actual el comando dir, y nos pedirá
que introduzcamos el disco con el que arrancamos, que no es que se
llame sys:, sino que sys: es el nombre reservado que el sistema da al
disco con el que arrancó inicialmente.
Bueno, creemos que con esto de momento basta, hemos explorado seis
formas distintas de resolver un problema que inicialmente nos parecía
irresoluble, y que ha hecho a muchos desistir de explorar el CLI. No
exageramos si os decimos que existen otra media docena de formas de
hacer esto mismo trabajando con una sóla unidad de disco, y otra docena
o más si lo hacemos con dos o más unidades de disco, pero estas otras
formas requieren conocer algo más el DOS. Espero que la búsqueda de
ese directorio os haya enseñado, no sólo varias soluciones al problema,
sino que os haya abierto múltiples vías para resolver otros problemas
que os encontraréis. Creo que también nos ha quedado claro la
versatilidad y la potencia del CLI, que nos va a permitir hacer cosas
impensables con otros sistemas operativos menos sofisticados.
Y ahora que hemos aprendido a sacar el directorio de un disco distinto
al de arranque vamos a trabajar con el directorio del disco con el que
estoy trabajando, que en concreto es una copia de trabajo de Word
Perfect, el directorio en cuestión es el siguiente:
Trashcan (dir)
c (dir)
System (dir)
l (dir)
devs (dir)
s (dir)
t (dir)
fonts (dir)
libs (dir)
Utilities (dir)
.info CLI
CLI.info Disk.info
help.wp print
print.info printer.wp
sFeed.prt sFont.prt
sPrinter.prt System.info
Trashcan.info wp
wp.info {sys}.prt
{SYS}___.WP
Bien lo primero que apreciamos es que al principio nos da los nombres
de los directorios, y despúes, y ordenados en dos columnas, nos da el
nombre de los ficheros que ha encontrado. Todos los ficheros que
terminan en .info representan, o bien un icono asociado a un programa o
directorio, o bien la información de cómo están los iconos colocados y
las ventanas abiertas, pero esto lo iréis descubriendo vosotros sólos,lo que ahora nos interesa son los directorios. Vamos a ver qué es lo
que contiene cada uno, para lo cual utilizaremos una de las opciones de
dir:
dir opt a
y obtendremos lo siguiente:
Trashcan (dir)
.info
c (dir)
AddBuffers Assign
BindDrivers CD
Copy Date
Delete Dir
Echo EndCLI
Execute Info
List LoadWb
MakeDir NewCLI
Path Run
setmap Type
Version
System (dir)
.info diskcopy
format
l (dir)
Disk-Validator Port-Handler
Ram-Handler
devs (dir)
keymaps (dir)
e
printers (dir)
CBM_MPS1000 Epson
Epson_JX-80 generic
clipboards (dir)
clipboard.device Mountlist
parallel.device printer.device
serial.device system-configuration
s (dir)
startup-sequence
t (dir)
ed-backup
fonts (dir)
libs (dir)
diskfont.library icon.library
info.library mathieeedoubbas.library
mathtrans.library version.library
wp.library wpdat.ovly
wpfrm.ovly wpmcl.ovly
wprng.ovly wpths.ovly
Utilities (dir)
.info CLI
CLI.info Disk.info
help.wp print
print.info printer.wp
sFeed.prt sFont.prt
sPrinter.prt System.info
Trashcan.info wp
wp.info {sys}.prt
{SYS}___.WP
Como podemos ver fácilmente, el disco etá completamente lleno de
ficheros que jamás habíamos visto, seguramente hay más de 100 ficheros,
no los hemos contado, pero estos ficheros, al estar dentro de los
directorios no eran visibles al comando dir en su forma más sencilla,
por supuesto, eran menos visibles todavía para el WB, que tan sólo
muestra los ficheros o directorios que llevan asociado un icono.
Dentro del directorio de comandos c existe uno que se llama assign
vamos a ejecutarlo:
assign
y obtenemos:
Volumes:
WPDATA [Mounted]
RAM Disk [Mounted]
WP [Mounted]
Directories:
t RAM:t
S WP:s
L WP:l
C WP:c
FONTS WP:fonts
DEVS WP:devs
LIBS WP:libs
SYS WP:
Devices:
DF1 DF0 PRT PAR SER
RAW CON RAM
Reconocemos aquí algunas cosas que ya hemos visto, por ejemplo el
directorio S, el L, el C, e incluso el SYS, a la derecha nos da los
valores actuales de estos dispositivos (devices) que son lógicos, y por
lo tanto renombrables.
En la parte de abajo reconocemos otros nombres, DF0, SER, RAM, estos
devices son físicos y su nombre no puede ser utilizado por otros
dispositivos, si bien si que podemos ponerles nombres distintos. El
cambio de nombres o de directorios se modifica mediante el mismo
comando assign, y es muy importante conocer su funcionamiento para
controlar el CLI, e incluso el WB y los periféricos como el disco duro.
Si retomamos los directorios que nos dio dir:
Trashcan (dir)
c (dir)
System (dir)
l (dir)
devs (dir)
s (dir)
t (dir)
fonts (dir)
libs (dir)
Utilities (dir)
Vemos que algunos de ellos coinciden con los dispositivos asignados,
vamos a explicar por qué.
Cuando el ordenador arranca con un disco, el sistema operativo espera
encontrar una serie de directorios, que guardan unos ficheros que la
máquina necesita para ejecutar multitud de operaciones, ejemplos ya
vistos son el s donde debe de estar el fichero de arranque, o el l con
el manipulador de ram:, etc. Pues bien, el DOS espera que estos
ficheros se llamen de la forma que pone en la columna izquierda que nos
ha dado assign, es decir, t, s, c, l, devs, libs y fonts, ya dijimos
que sys: es el nombre que le da al disco de arranque. Si estos
directorios existen, se les asigna el nombre correspondiente, que
siguiendo las convenciones del DOS son el nombre del disco + dos puntos
+ el nombre del directorio. En este caso el disco se llama WP, por
eso el dispositivo s: se corresponde con el nombre WP:s, etc.
Pero ¿por qué ponemos dos puntos después de s?. Al poner dos puntos
detrás del nombre de un directorio, queremos decirle a la máquina que
nos referimos al dispositivo lógico, y no al nombre del directorio,
porque a pesar de que la máquina espera encontrar estos nombres, no
tenemos por qué usarlos necesariamente. Volviendo a nuestro ejemplo
anterior en el que copiamos el directorio c en ram:, teníamos una
posibilidad más de enviar al ordenador a buscar allí los comandos, y
esta era el asignar el dispositivo c: a la ram: de esta forma:
assign c: ram:
de hecho, una vez copiado todo el directorio c en ram:, lo lógico
hubiera sido hacer esto en lugar de añadir un camino mediante path,
¿por qué?, pues la respuesta es sencilla: si tenemos todos los
comandos del directorio c en ram:, no necesitamos para nada el tener en
el disco un duplicado de este directorio. Asignando c: a ram:
anulamos la asignación del sistema, y le imponemos la que a nosotros
nos interesa.
Las aplicaciones de este comando son innumerables, una podría ser el
asignar el directorio de comandos a un disco entero. El número de
comandos del CLI está en un aumento constante, multitud de software
introduce comandos nuevos para rellenar las faltas que trae el DOS o
para mejorar en posibilidades o rapidez a los comandos estándares, asíes fácil llenar un disco completo de comandos, pero si lo hacemos no
nos cabría nada más en el disco y no sería muy útil, asignando c al
disco en cuestión, habríamos ampliado las posibilidades del sistema.
Una aplicación más llamativa podría ser el salvar el obstáculo que
imponen algunos programas de aplicación al requerir dos unidades de
disco para su correcto funcionamiento, esto lo hacen mediante llamadas
a la unidad externa df1:; asignando df1: al nombre de un disco,
simularemos el disponer de dos unidades de disco, aunque existe otro
camino más fácil, aunque no siempre funciona, que es el nombrar al
segundo disco en cuestión df1, que en este caso sería un dispositivo
lógico pero que engañaría al sistema.
Si disponemos de una ampliación de memoria importante, dos o más megas,
podríamos copiar el disco entero del WB en ram:, y asignando todos los
directorios adecuadamente, jamás tendríamos que volver a poner el disco
del WB cuando alguna aplicación pidiera determinado fichero. Esta es
la base para una correcta instalación del disco duro, sólo que en este
caso en vez de asignarlos a ram: lo asignaríamos a dh0: que es el
nombre que el sistema da a este dispositivo físico.
En resumen, el comando assign será uno de los que utilicemos con más
frecuencia para la personalización de discos de trabajo y la
instalación adecuada de las aplicaciones a nuestro sistema informático,
y en un correcto entendimiento de su funcionamiento está la base del
dominio del CLI, un dominio que esperamos esté más cercano de todos
vosotros a partir de ahora.
Pero no queremos terminar sin explicar con algo más de detalle qué es
lo que guarda cada directorio, aunque cada vez sabemos más sobre ello.
- El directorio s es el guardián no sólo del fichero de arranque
startup-sequence, fichero que tendremos que acostumbrarnos a editar
para adaptarlo a nuestro idioma y necesidades, sino que también
almacena los ficheros de texto ejecutables por el comando execute, este
comando buscará los ficheros de texto con las instrucciones a seguir en
el directorio s, siempre que no estuvieran en directorio actual.
- El directorio l tiene (en la versión 1.2 del WB) tres ficheros, el
ram-handler ya explicado, que se encarga de manejar el disco ram; el
port-handler, imprescindible de dialogar con los puertos de entrada y
salida paralelo y serie; y por último, uno de los más importantes, el
disk-validator fichero que se encarga de leer la estructura de los
discos y de modificarla cada vez que escribimos en ellos, y cuya falta
en el disco de arranque nos puede provocar la pérdida de datos o
programas en aquellos discos que se modifiquen sin su presencia.
- El directorio libs es el responsable de las librerías del sistema,
principalmente de las que maneja el WB, las matemáticas, y las que
controlan el tipo de letra que manejamos diskfont.library, la ausencia
de estas librerías puede producirnos un derrumbamiento del sistema siestamos trabajando con aplicaciones que las buscan y no las encuentran.
- El directorio fonts es el que guarda los tipos de letras (fuentes)
disponibles, es otro de los directorios que con más frecuencia cambian
de asignación, ya que existen multitud de discos con tipos de letra
diferentes, a los que se puede acceder fácilmente asignándoles el
dispositivo fonts:.
- El directorio t es el que guarda las copias de seguridad de los
ficheros editados cone l comando ed del CLI, y es imprescindible para
la ejecución de los ficheros del directorio s que tengan estructuras
condicionales, ya que aquí se escriben los ficheros intermedios.
- El directorio devs contiene los dispositivos de control del sistema,
especialmente los de entrada-salida, encontrándose aquí los mapas de
teclado (keymaps) para adaptar este a los distintos idiomas, los
ficheros que controlas los puertos serie y paralelo, el mencionado al
principio system-configuration, y el directorio printers que contiene
los ficheros de instrucciones para los distintos tipos de impresoras
que podemos utilizar.
- Por último, el directorio c contiene los comandos del sistema
operativo, aquí vemos los que contiene el disco con el que estamos
trabajando:
c (dir)
AddBuffers Assign
BindDrivers CD
Copy Date
Delete Dir
Echo EndCLI
Execute Info
List LoadWb
MakeDir NewCLI
Path Run
setmap Type
Version
Esto es sólo una pequeña muestra de los existentes, es cuestión que
cada uno debe decidir cuáles son los comandos que le interesa incluir
en sus discos de trabajo, aunque es casi seguro que todos optaremos por
incluir al menos los siguientes: dir, assign, copy, cd y type.
Para concluir, y como muestra, vamos a explicar algunas de las
posibilidades del comando copy, que es uno de los más versátiles del
sistema.
En principio copy es un comando que está especializado en el traspaso
de ficheros de un dispositivo a otro, pudiendo ser estos cualquiera de
los que asigna el sistema, la sintaxis de copy la podemos averiguar
escribiendo copy ?.
Podemos utilizar copy para copiar ficheros sueltos, directorios o
discos enteros de un dispositivo a otro:
ficheros ----------------- copy s/startup-sequence ram:
directorios ----------------- copy fonts df1: all
discos ----------------- copy df1:#? df0: all
La opción all añadida al final le indica a copy que si dentro del
directorio o del disco se encuentra un sub-directorio debe de copiarlo
integro con sus contenidos.
Copy es uno de los comandos que admite comodines, hay varios tipos,
pero los más utilizados son dos, # y ?. ? sustituye en un nombre de
fichero a un sólo carácter, pudiendo ser éste cualquiera. La
combinación #? sustituye a cualquier conjunto de caracteres.
a) copy #?.info df1: ------- copia todos los ficheros acabados en
.info
b) copy letras??.1 ---------- copia los ficheros que comiencen con
letras y terminen con .1 y que entre media tengan dos caracteres
cualesquiera.
c) copy devs:printers/epson#? df1:devs/printers -------- copy todos
los drivers de impresora que comiencen por epson del directorio
asignado a devs: al directorio devs/printers de la unidad de disco
externa.
Como consejo os diremos que para copiar ficheros con una sóla unidad de
disco, se hace casi imprescindible el hacerlo en dos pasos, primero
copiarlos en la ram: y después pasarlos al disco en cuestión que nos
interese.
Copy también puede utilizarse como un lector de ficheros, enviando su
salida a la pantalla:
copy s/startup-sequence to *
El asterisco representa a la pantalla en el CLI.
O también y por último como un primitivo editor de texto:
copy * to fichero_de_prueba
finalizando la entrada de texto con la pulsación de las teclas Ctrl j y
Ctrl \.